1. Field of Invention
The invention relates to a system and method for character recognition. More particularly, the invention relates to recognizing characters in cursive script which cursive script may be of any kind, but in particular, could be typewritten Arabic script, since Arabic writing is by its nature in cursive form and it is unacceptable to write Arabic with isolated characters.
2. Prior Art
Character recognition has been a subject of intensive research for a long time, to provide practical means for processing large volumes of already existing data automatically.
Taking typewritten script as an example, the characters used to produce words are, for many languages, isolated. However, with some languages such as Arabic, the characters are generally not isolated and are strung together to form cursive script. Thus a major problem arises when attempting to recognize cursive script in how to identify the constituent characters within the script.
A number of approaches have been described in the prior art. One approach involves a segmentation algorithm developed to resolve the cursiveness problem based on an Energy-like approach. The process first detects lines of script and 'Pieces of Arabic Word' (PAWs) by standard image processing techniques. A PAW is defined in the article as a part of an Arabic word separated by vertical boundaries (assuming the lines of text are horizontal).
Next the PAWs are segmented by producing energy-like curves based on the `black-to-black` height of their constituent pixel columns. A preselected threshold value traverses this curve yielding significant primitives and leaving out `dead` or silent zones.
Then two consecutive clustering procedures are carried out to group similar primitives into groups so as to facilitate the recognition process. Once the primitives have been recognized the appropriate characters are reconstructed.
This process has the disadvantage that segmentation of the PAWs takes place before recognition and so causes complexity by increasing the number of pattern classes to be recognized. In addition the recognition system is relatively slow due to the time exhausted in the segmentation step which precedes recognition.
In the article `Automatic Recognition of Bilingual Typewritten Text`, Proc. of COMPEURO '89 VLSI & Computer Peripherals IEEE Conference in Hamburg, vol.2 pp. 140-144, 8-12 May 1989, Mr Abdelazim and Mr Hashish discuss a recognition system based on a combined statistical/structural approach. The process follows a similar routine to the previous piece of prior art in that the `Pieces of Bilingual Word` ( PBWs ) are segmented into primitives using the same segmentation method as above.
The primitives are then clustered and passed through a decision tree module to produce a set of candidate primitives. The input primitive is then correlated with these candidates and depending on the degree of correlation is matched to one of the candidates. If the correlation is not above a desired level the input primitive is shifted one pixel in its reference frame and then fed back into the decision tree to repeat the process. Hence this piece of prior art also carries out segmentation before recognition and suffers from the same drawbacks as the previous piece of prior art.
The article `Arabic Typewritten Character Recognition Using Dynamic Comparison`, Proc. 1st Kuwait Computer Conference, pp. 455-462, Mar. 1989, describes a method based on dynamic programming techniques which allows character recognition with no segmentation phase. A word containing a set of characters (T) is isolated and an image of the word formed. Then the image is compared with a concatenated combination of representative character patterns obtained from a library of reference patterns. Several combinations may be tried and the boundaries of the characters in T are obtained by projecting the intersections of the `optimal path` (as described in the article) with the boundaries of the characters contained in the best combined reference from the library. This approach involves a large number of comparisons and is accordingly extremely time consuming.
The article `Computer Recognition of Arabic Cursive Scripts`, Pattern Recognition, Vol. 21, No. 4, 1988, pp. 293-302, discusses a method involving a contour following algorithm to produce the segmentation of Arabic words into their constituent characters. The input to the segmentation algorithm is a closed contour representing either a complete word or a subword. The segmentation process is based on the calculation of the contour height (h) which is the distance between the two extreme points of intersection of the contour with a vertical line.
Working on the principle that the contour height is usually very small at the boundaries between different characters the constituent characters are extracted. These characters are represented by their outer contour and any diacritics present, and are classified as a particular known character in a classifying stage.
This method lacks generality and is font-specific. It also is dependent on accurate segmentation occurring in order to allow the recognition phase to work well.